package com.tbit.uqbike.webmanager.dao.core;

import com.tbit.uqbike.object.pojo.AgentDepositVip;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Author: chen
 * @Description: 用户区域免押
 * @Date: 创建于 11:14 2020/2/13
 */
public interface AgentDepositVipDao {
    /**
     * 新增
     */
    void insert(AgentDepositVip agentDepositVip);

    /**
     * 通过用户id获取区域免押
     */
    AgentDepositVip getByUserId(Map<String, Object> map);

    /**
     * 修改
     */
    void edit(AgentDepositVip agentDepositVip);

    /**
     * 删除
     */
    void del(Map<String, Object> map);

    /**
     * 分页
     */
    List<AgentDepositVip> queryPage(Map<String, Object> map);

    /**
     * 总数
     */
    Integer queryCount(Map<String, Object> map);

    void delExpired(Integer accountId);

    void updateExpire(@Param("accountId") Integer accountId, @Param("userId") Integer userId, @Param("type") Integer type);

    /**
     * 根据用户id和区域id查询免押套餐信息
     *
     * @param userIdList 用户列表
     * @param accountId  区域id
     * @return 结果集
     */
    List<AgentDepositVip> listByUserIdAndAccountId(@Param("userIdList") List<Integer> userIdList, @Param("accountId") Integer accountId);

    /**
     * 根据用户id和区域id集合查询免押套餐信息
     *
     * @param userId        用户id
     * @param accountIdList 区域id集合
     * @return 结果集
     */
    AgentDepositVip selectByAccountIdList(@Param("userId") Integer userId,
                                                @Param("accountIdList") List<Integer> accountIdList);
}
